query.setParameter(User.FIRST_NAME, "The");
// find only by the first name
List<User> result = query.getResultList();
assertFalse(result.isEmpty());
assertTrue(result.size() == 1);
assertEquals("admin", result.get(0).getId());
query = identityManager.createQuery(User.class);
query.setParameter(User.LAST_NAME, "Administrator");
// find only by the last name
result = query.getResultList();
assertFalse(result.isEmpty());
assertTrue(result.size() == 1);
query = identityManager.createQuery(User.class);
query.setParameter(User.FIRST_NAME, "The");
query.setParameter(User.LAST_NAME, "Administrator");
// find by first and last names
result = query.getResultList();
assertFalse(result.isEmpty());
assertTrue(result.size() == 1);
assertEquals("admin", result.get(0).getId());
query = identityManager.createQuery(User.class);
query.setParameter(User.FIRST_NAME, "The");
query.setParameter(User.LAST_NAME, "Bad Administrator");
// must not return any result because we provided a invalid last name
result = query.getResultList();
assertTrue(result.isEmpty());